//
//  HSBasicController.swift
//  HomeSchoolDemo
//
//  Created by rimi on 16/10/8.
//  Copyright © 2016年 赖虹宇. All rights reserved.
//

import UIKit

class HSBasicController: UITableViewController {
    
    //刷新控件
    let refreshC = HY_LRefreshControl()
    //记录刷新状态的属性
    var isPull : Bool = false
    
    override func viewDidLoad() {
        super.viewDidLoad()
      
        //刷新控件
        tableView.addSubview(refreshC)
        //设置监听
        refreshC.addTarget(self, action: #selector(loadData), for: .valueChanged)

      
    }
    //加载数据
    func loadData(){
        //开始加载刷新视图
        refreshC.beginRefreshing()
        //模拟延时
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) {[weak self] in
//            //刷新UI
//            self?.tableView.reloadData()
            //刷新完UI之后结束刷新UI控件
            self?.refreshC.endRefreshing()
            self?.isPull = false
        }
    }



 }
extension HSBasicController{
    
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 0
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       
        return UITableViewCell()
    }
    //即将显示某行cell时回调
    override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        //获得当前行数
        let row = indexPath.row
        //获得表格视图的总组数
        let section = tableView.numberOfSections - 1
        if row < 0 || section < 0 {
            return
        }
        //获得最后一组的总行数
        let lastRows = tableView.numberOfRows(inSection: section)
        //当前调用的行等于表格视图最后一组的总行数 - 1
        if row == lastRows - 1 && indexPath.section == section && !isPull {
            //记录刷新状态
            isPull = true
            //调用数据请求
            loadData()
            
        }
}
}
